package com.cleanvegetable.company.dto;

import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * 公司信息数据传输对象 - 用于接口请求和响应
 * @author system
 */
@Data
public class CompanyDTO implements Serializable {
    
    /**
     * 序列化版本号
     */
    private static final long serialVersionUID = 1L;
    
    /**
     * 主键ID - 新增时不需要，修改时必需
     */
    private Integer id;
    
    /**
     * 工序编号 - 必填，公司唯一标识
     */
    @NotBlank(message = "工序编号不能为空")
    private String code;
    
    /**
     * 字首 - 编号前缀，可选
     */
    private String prefix;
    
    /**
     * 公司中文名称 - 必填
     */
    @NotBlank(message = "公司中文名称不能为空")
    private String companyName;
    
    /**
     * 公司英文名称 - 可选
     */
    private String otherName;
    
    /**
     * 简称 - 可选
     */
    private String nickName;
    
    /**
     * 是否为客户 - 默认false
     */
    private Boolean isClient = false;
    
    /**
     * 是否为供应商 - 默认false
     */
    private Boolean isVendor = false;
    
    /**
     * 付款条款 - 可选
     */
    private String paymentTerm;
    
    /**
     * 贸易条款 - 可选
     */
    private String tradeTerm;
    
    /**
     * 交易货币 - 可选
     */
    private String currency;
    
    /**
     * 主要联系人 - 可选
     */
    private String contactPerson;
    
    /**
     * 银行信息 - 可选
     */
    private String bankInfo;
    
    /**
     * 公司主页 - 可选
     */
    private String website;
    
    /**
     * 备注 - 可选
     */
    private String remark;
} 